High-Quality Audio/Visual Conferencing

ABSTRACT

Techniques disclosed herein permit a party to identify a first (low-resolution) image as it is displayed on their, for example, smart phone during a video conference call. Identifying information specific to the first image may be collected and a request for a high-resolution copy of the image sent to the party sourcing the transmitted image. The high-resolution image may be sent from the image&#39;s sourcing device to the requestor&#39;s device during, or after, the video conference call. In some embodiments, the high-resolution image may be sent through an alternate communication channel (e.g., via a chat, social media or email channel). In other embodiments, the high-resolution image may be sent to a network-based service from which the requestor may obtain the image. In one embodiment, the sourcing device may message the requesting device that the image has been sent to the network-based service.

BACKGROUND

This disclosure relates generally to audio/visual conferencing. Moreparticularly, but not by way of limitation, this disclosure relates totechniques for the on-demand capture of high-quality images duringaudio/visual conferencing.

Video or audio/visual conferencing using, for example, smart phonesprovides a means for parties to both see and hear one another during acall. While a party's smart phone may be able to capture high-resolutionimages, the quality or resolution of those images are reduced during theencoding process so that only low-resolution images are transmitted tothe receiving party. Thus, if the receiving party wants to capture animage of the transmitting party, the only image they have access to is alow-resolution image (such as can be obtained through a screen captureoperation).

SUMMARY

The following summary is included in order to provide a basicunderstanding of some aspects and features of the claimed subjectmatter. This summary is not an extensive overview and as such it is notintended to particularly identify key or critical elements of theclaimed subject matter or to delineate the scope of the claimed subjectmatter. The sole purpose of this summary is to present some concepts ofthe claimed subject matter in a simplified form as a prelude to the moredetailed description that is presented below.

In one embodiment the disclosed concepts provide a method to capturehigh-resolution images during a video conference. In one example, themethod includes capturing, at a first device as part of a videoconference with a second device, a first temporal sequence of images,wherein the first temporal sequence of images has a first resolution andincludes a first image (in one embodiment the first image also has afirst identifier). The method also includes storing, concomitantly withthe capturing, the first temporal sequence of images into a memory ofthe first device and transmitting, concomitantly with the storing, aconverted version of the first temporal sequence of images to the seconddevice. The converted version of the first temporal sequence of imageshas a second resolution that is lower than the first resolution. Themethod further includes receiving, from the second device and during thevideo conference, a request for the first image and identifying, inresponse to the request, the first image from the memory (e.g., based onthe first identifier). The method includes transmitting, in response tothe identifying, the first image having the first resolution to thesecond device. In one or more embodiments the first device, whentransmitting the first image to the second device, transmits the firstimage though a communication modality other than the video conference(e.g., via e-mail, chat, or through a cloud-based server system orservice). In one embodiment the first device transmits the first imageto the second device after the video conference ends. In otherembodiments, the request from the second device requests a first seriesof images from the first device (e.g., video) starting at the firstimage—all of the images so supplied by the first device are at the firstresolution. In this latter case, the second device subsequentlytransmits a second request indicating a second image at which the firstseries of images should stop. In one or more other embodiments, thevarious methods described herein may be embodied in computer executableprogram code and stored in a non-transitory storage device. In yet otherembodiments, the methods may be implemented in an electronic devicehaving mobile communications capabilities.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows, in block diagram form, a communication system inaccordance with one or more embodiments.

FIG. 2 shows, in block diagram form, a conferencing operation inaccordance with one or more embodiments.

FIGS. 3A-3C show, in block diagram form, sample communication paths inaccordance with various embodiments.

FIG. 4 shows, in block diagram form, a video memory in accordance withone or more embodiments.

FIG. 5 shows, in flowchart form, an image location operation inaccordance with one or more embodiments.

FIG. 6 shows, in flowchart form, data transmission operation inaccordance with one or more embodiments.

FIG. 7 shows, in block diagram form, a multi-function electronic devicein accordance with one or more embodiments.

FIG. 8 shows, in flowchart form, an image capture operation inaccordance with one or more embodiments.

FIG. 9 shows another image capture operation in accordance with one ormore embodiments.

FIG. 10 shows a web-, cloud- or network-based conference operation inaccordance with one or more embodiments.

FIG. 11 shows, in block diagram form, an electronic device in accordancewith one or more embodiments.

DETAILED DESCRIPTION

This disclosure pertains to systems, methods, and computer readablemedia to improve the operation of an audio/visual (A/V) conferencesystem. In general, techniques are disclosed for enabling one party toan A/V conference to designate, e.g., via selection of a low-resolutionimage displayed on their smart phone, an image of a second party forwhich they can receive a high-resolution or quality image. Moreparticularly, techniques disclosed herein permit a party to identify afirst (low-resolution) image as it is displayed on their smart phone (ortablet or other type of user device) during an A/V conference call.Identifying information specific to the first image is collected and arequest for a high-resolution copy of the image sent to the partysourcing the transmitted image. In one or more embodiments, thehigh-resolution image is sent from the image's sourcing device to therequestor's device during, or after, the A/V call (e.g., depending onavailable bandwidth). In one or more other embodiments, thehigh-resolution image is sent from the image's sourcing device to therequestor's device through an alternate communication channel (e.g., viaa chat or social media channel). In still other embodiments, thehigh-resolution image is sent from the image's sourcing device to anetwork-based service from which the requestor obtains the image. By wayof example only, the network-based system could be a cloud-based storageor relay system. In yet other embodiments, a high-resolution videostream (with or without audio) is obtained by one party of anotherparty.

In other embodiments, operation of an A/V conference system is improvedby allowing one party to a conference call to designate a portion orregion of an image received from another conference participant foradditional remote processing. If the designated region is captured at ahigher resolution (e.g., at 4K resolution) than the images transmittedbetween the participants (e.g., 720p resolution), the effect ofembodiments of this type is to provide the party designating the regionwith a “blown-up” or “zoomed-in” image of the designated region. Moreparticularly, techniques disclosed herein allow one party to an A/Vconference call to designate a region of an image received from a secondparty to the conference call. Information identifying the designatedregion is sent to the party transmitting the image, after which thatparty's device (e.g., a smart phone) captures the image athigh-resolution (if not already done), extracts that portion of thehigh-resolution image corresponding to the designated region, encodesthe extracted region at a lower-resolution than it was captured at, andsends that to the first party. The effect of this operation is that thefirst party sees an image that appears to have been zoomed-in from theoriginal image to that of the designated region.

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the disclosed concepts. As part of this description,some of this disclosure's drawings represent structures and devices inblock diagram form in order to avoid obscuring the novel aspects of thedisclosed concepts. In the interest of clarity, not all features of anactual implementation may be described. Further, as part of thisdescription, some of this disclosure's drawings may be provided in theform of flowcharts. The boxes in any particular flowchart may bepresented in a particular order. It should be understood however thatthe particular sequence of any given flowchart is used only to exemplifyone embodiment. In other embodiments, any of the various elementsdepicted in the flowchart may be deleted, or the illustrated sequence ofoperations may be performed in a different order, or even concurrently.In addition, other embodiments may include additional steps not depictedas part of the flowchart. Moreover, the language used in this disclosurehas been principally selected for readability and instructionalpurposes, and may not have been selected to delineate or circumscribethe inventive subject matter, resort to the claims being necessary todetermine such inventive subject matter. Reference in this disclosure to“one embodiment” or to “an embodiment” means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the disclosed subject matter,and multiple references to “one embodiment” or “an embodiment” shouldnot be understood as necessarily all referring to the same embodiment.

It will be appreciated that in the development of any actualimplementation (as in any software and/or hardware development project),numerous decisions must be made to achieve a developer's specific goals(e.g., compliance with system- and business-related constraints), andthat these goals may vary from one implementation to another. It willalso be appreciated that such development efforts might be complex andtime-consuming, but would nevertheless be a routine undertaking forthose of ordinary skill in the design and implementation of video andaudio/visual conferencing systems having the benefit of this disclosure.

Referring to FIG. 1, communication system 100 in accordance with one ormore embodiments includes local device 105 and remote device 110 thatexchange information via communication channel 115. During use,communication channel 115 uses cellular technology, network technologyor a combination of cellular and network technology. Cellular technologyincludes, but is not limited to, high-speed wireless communicationsoperated in accordance with 4G or Long-Term Evolution (LTE) standards.Network technology may include wireless local area networks (WLANs)operated in accordance with the Institute of Electrical and ElectronicsEngineers (IEEE) 802.11 standards. In some embodiments of communicationsystem 100, each party's mobile unit displays two images: one of thelocal device's user (e.g., local user 120) and one of the remotedevice's user (e.g., remote user 125). In FIG. 1, the terms “local user”and “remote user” are based on the perspective of local device 105. Thisperspective will be adhered to throughout this application. As such,even though a user of remote device 110 may consider themselves to bethe local user of their device, for purposes of this application theywill be referred to as a remote user.

Conventionally, during conference calls, if a party's device (e.g.,smart phone) had the capability to generate high-resolution video (e.g.,4K) and audio (e.g., HD voice), that data could be stored locally in itshigh-resolution state. Audio and video received from other conferenceparticipants however is in a relatively lower-resolution form. Forexample, video is often transmitted in 720p format which issignificantly lower-resolution than is 4K. Similarly, traditionaltelephony is based on sampling the audio stream 8,000 times a second andconstrains reproduction of the sound spectrum to the range of 200 Hz to3.3 KHz, while HD voice doubles the sampling rate to permit reproductionof the sound spectrum to the range of 50 Hz to 7 KHz. Thus, while aparticipant could generate high-resolution data for their portion of avideo conference, they had access only to low-resolution data for thoseportions from other participants.

Referring to FIG. 2, conferencing operation 200 in accordance with oneor more embodiments includes local transmission loop 205 (correspondingto local device 105) and remote transmission loop 210 (corresponding toremote device 110). As shown, remote device 110 records (block 215) andtransmits (block 220)—via remote transmission loop 210—stream 225 tolocal device 105. In general, stream 225 includes a relativelylow-resolution image sequence (e.g., compared to what remote device 110captures) and a corresponding audio signal. In response, local device105 receives (block 230)—via local transmission loop 205—and presents(block 235) stream 225. For example, the received video sequence may bedisplayed on the local device's display screen (not shown) and the audiosignal played back via the local device's speakers (not shown). At somepoint during display of the received image sequence a user of localdevice 105 signals their desire to capture a high-quality version of acurrently displayed low-resolution image (block 240). In someembodiments, selection is made through activation of a hardware switch,a displayed software switch, or a user's tap of the local device'sdisplay element if it supports touch input. Local device 105 thendetermines identifying information for the image displayed at the timethe selection was made (e.g., a timestamp or image sequence number) andtransmits—via local transmission loop 205—request 245 to remote device110 for the identified image. In turn, remote device 110 receives (block250)—via remote transmission loop 210—request 245, locates the specificidentified image in, for example, a memory buffer (block 255) andtransmits said image to local device 105 (block 260). In one embodiment,remote device 110 uses the identified image's timestamp or imagesequence number to search its video buffer memory to locate therequested image's high-resolution counterpart. (It should be understoodthat as the events described in accordance with FIG. 2 occur, localdevice 105 is simultaneously recording and transmitting an A/V stream toremote device 110. For simplicity of discussion, this action has notbeen shown in FIG. 2.)

In one embodiment, remote device 110 transmits the requestedhigh-resolution image to local device 105 via a communication channelother than remote transmission loop 210 (e.g., the A/V conferencecommunication channel). Referring to FIG. 3A, in one embodiment remotedevice 110 transmits the requested high-resolution image to local device105 by way of chat communication channel 300 over telephone network 305.Referring to FIG. 3B, in another embodiment remote device 110 transmitsthe requested high-resolution image to local device 105 by way of emailcommunication channel 310 over network 315. Referring to FIG. 3C, instill another embodiment remote device 110 transmits the requestedhigh-resolution image to local device 105 by way of network-basedservice 320 (resident in cloud 325). In one embodiment, network-basedservice 320 could be a social network. In another embodiment,network-based service 320 could be a data or information synchronizationservice. In still another embodiment, network-based service 320 could bean application service provider (ASP) that permits information storageand management. In the case remote device 110 does not directly transmitthe high-resolution image to local device 105 (e.g., such as anticipatedby FIG. 3C), remote device 110 issues a communication to local device105 (e.g., an auto-generated email or text message) indicating that thevideo is waiting at a specified site for retrieval.

Image location operation 255 in accordance with one or more embodimentshas remote device 110 inspect its video memory for the high-resolutioncounterpart to the low-resolution image identified on local device 105.Referring to FIG. 4, in one embodiment the remote device's video memory400 is organized into a circular buffer, circular queue, cyclic bufferor a ring buffer as indicated by storage operations 405 (solid lines).Each element or entry (e.g., 410-425) can include high-resolution imagedata (denoted by “DATA”) and metadata (denoted by “MD”). In oneembodiment, audio data is also stored in video memory 400. In anotherembodiment, audio data is stored in a separate memory and “tied” orlogically linked to the image sequence stored in video memory 400through a series of links or identifiers (e.g., timestamps). Referringnow to FIG. 5, in one embodiment image location operation 255 can beginwith remote device 110 selecting a first video memory entry (block 500)such as, for example, entry 410 in FIG. 4. The selected entry's metadatais inspected (block 505); e.g., the “MD” portion of entry 410 in FIG. 4.If the selected image's metadata does not correspond with or include theimage identification information received from local device 105 (the“NO” prong of block 510), a next video memory entry is selected (block515), as indicated by dashed line 430 in FIG. 4, where after imagelocation operation 255 continues at block 505. If inspection of theselected video memory entry's metadata corresponds with or includes theimage identification information received from local device 105 (the“YES” prong of block 510), the identified image data and some or all ofits corresponding metadata is sent to local device 105 (block 260). Insome embodiments, operations in accordance with block 510 use imagetimestamp information to identify the proper high-resolution image. Inother embodiments, a frame sequence identifier is used.

Referring to FIG. 6, in one or more embodiments transmission of ahigh-resolution image in accordance with operation 260 first selects ordetermines an appropriate transmission channel (block 600). In oneembodiment, high-resolution images are transmitted via chat, email orsocial media transmission channels. For example, the requester's email,chat or social media contact information is identified by an addressbook or other database lookup operation by remote device 110 (thedatabase may be resident on remote device 110 or remote therefrom; e.g.,a web-based address service). When such information is not available,remote device 110 queries local device 105 using in-band or out-of-bandcommunications. Once a transmission channel has been selected, thehigh-resolution image may be “packaged” in accordance with thatchannel's protocol or other transmission rules (block 605) and thentransmitted to local device 105 over the selected channel (block 610).If the requested image is sent to a network-based storage site (such asanticipated by FIG. 3C), remote device 110 issues a communication tolocal device 105 (e.g., an auto-generated email or text message)indicating that the image is waiting at a specified site for retrieval.

In another embodiment, rather than requesting a single high-resolutionimage a user of local device 105 requests a high-resolution video (e.g.,sequence of images and associated audio). In one such embodiment, a userof local device 105 provides a first input to indicate the desired starttime of a high-resolution video and another input to indicate thedesired stop time. In some embodiments, if no “stop” signal is receivedat remote device 110, the A/V conference is recorded from the designatedstart time until the conference's end.

Referring to FIG. 7, remote video capture operation 700 in accordancewith one or more embodiments may begin at remote device 110 when itreceives a “start video” signal (block 705). Remote device 110 thenidentifies, in its video memory, the high-resolution counterpart to thelow-resolution image displayed on local device 105 at the time the“start video” signal was generated (block 710). From the identifiedframe, high-resolution video is recorded (block 715) while waiting foran “end” signal (the “NO” prong of block 720). When an “end” signal isreceived from local device 105 (the “YES” prong of block 720), videorecording is terminated (block 725), where after the recordedhigh-resolution video is transmitted (block 730). In one embodiment, therecorded high-resolution video is transmitted directly to local device105 if remote device 110 determines there is sufficient bandwidth to doso (e.g., through out-of-band communication with local device 105). Inanother one or more embodiments, remote device 110 transmits thehigh-resolution video to a cloud- or network-based storage site (e.g.,network-based service 320). Once the video has been sent to thenetwork-based storage site, remote device 110 issues a communication tolocal device 105 (e.g., an auto-generated email or text message)indicating that the video is waiting at the specified site forretrieval.

In another one or more embodiments, a remote user controls the imagecapture region and possibly the resolution of another's electronicdevice. An electronic device could be, for example, a mobile telephone,personal media device, a notebook computer system, or a tablet computersystem. Referring to FIG. 8, image capture operation 800 in accordancewith this approach begins when at least two parties establish an A/Vconference (block 805). For simplicity consider two parties, A and B,and focus on party B's captured data 805A as displayed on party A'sdisplay 805B. After call establishment, one of the parties (e.g., partyA) designates region 810A of their display as a region they would likean image of (block 810). In one embodiment, a region is designated by afinger tap. For example, the finger tap could be used to designate aregion of a predetermined size whose middle point coincides with thefinger tap. In another embodiment, a region is designated by a fingertouch followed by a drag motion, where the initial finger touchidentifies the region's upper left (or right) corner and the drag motionterminates at the region's lower right (or left) corner. Howeverdesignated, information identifying the designated region may betransmitted from party A's electronic device to party B's electronicdevice (block 815). By way of example, this information may becommunicated as part of the information constituting the A/V conference.If the device receiving the area designation (e.g., party B's electronicdevice) is already recording in high-resolution (the “YES” prong ofblock 820), that portion of party B's currently captured image or framecorresponding with party A's designated region 810A (e.g., portion 825A)is identified (block 825), extracted to form or constitute new image830A (block 830), and encoded (block 835) to generate zoom-in image835A. Zoom-in image 835A can then be transmitted to party A directly orindirectly as discussed above through one or more cloud-based services(block 840). Returning to block 820, if party B's electronic device isnot currently capturing high-resolution images (the “NO” prong of block820), party B's electronic device's image capture system is switched todo so (block 845), where after operation 800 continues at block 825.

As a use-case example, consider party A and B communicating viaFaceTime® wherein each device transmits to the other encoded 720p images(images that are 1280×720 pixels). (FACETIME is a registered trademarkof Apple Inc.) At some point during the conference, party B changestheir active camera from the front-facing to a rear-facing camera sothat they can show party A some animals frolicking in a park. Party Adecides they would like to see a zoomed-in view of one of the animalsand makes a finger-tap on their display corresponding to the displayedanimal. The identified region in the image is transmitted from party A'ssmart phone to party B's smart phone. Party B's device checks to see ifthe device is in high-resolution mode (e.g., 4K with approximately4000×2000 pixels) and sees that it is. If Party B's device is not in thehigh-resolution mode, then the device may change to the high-resolutionmode in accordance with FIG. 8, element 845. That portion of party B'scaptured image corresponding to the region designated by party A isidentified and, while described above as being extracted to form a “new”image (block 830), this may not be necessary in practice. When theregion captured in high-resolution 4K is encoded and into 720p format,the resulting image is effectively a blown-up or zoomed-in version ofthe designated region. This image is then transmitted to party A foreither display or storage. It should be noted that technical detailssuch as image buffering have been ignored in the above example for easeof presentation. It is noted however that because of transmission anddisplay delays, the designated region of an image displayed on party A'sdisplay must correspond to a previously transmitted and buffered imageat party B's device.

To see this more clearly, consider FIG. 9 where communication operation900 between party A 905 and B 910 is again shown. In this presentation,communication 900 is initiated by party A (915) and accepted by party B(920). After some time, party B activates their high-resolution (e.g.,4K) rear-facing camera (925) where after a high-resolution image istransmitted to party A (930). In some examples, this may include party Bstreaming a temporal sequence of images or video to party A. Forpurposes of this example however, we will focus on a single image. Oncedisplayed (935), party A designates a portion, area or region of theimage (940) in any convenient manner and sends this information to partyB's device (945). Party B's device uses this information to identify thebuffered image and region within that image corresponding to party A'sdesignation (950). That portion of the captured high-resolution image isencoded (e.g., into 720p) (955) and sent to party A (960) where it isdecoded and displayed on party A's device (965) resulting in an imagethat appears “zoomed-in” on the designated region. It is specificallynoted that the resolutions described here are for illustrative purposesonly. As long as the image whose region is designated is captured at ahigher resolution than that transmitted between the parties duringnormal AN operations, the resulting displayed image on party A's devicewill appear blown-up or zoomed-in (regardless of whether the image wascaptured by a forward- or rear-facing camera). In another embodiment,party A designates a tracking region so that the images sent back fromparty B's electronic device follows or tracks the designated area. Inthis embodiment, a stream of blown-up or zoomed-in images would betransmitted from party B's electronic device to party A's electronicdevice. By way of example, party A could designate a region with adouble-tap. This information, when received by party B's electronicdevice, could cause whatever object is in the designated region (e.g., aperson) to be tracked from frame-to-frame.

Referring to FIG. 10, a web-, cloud- or network-based service 1000 inaccordance with one or more embodiments is used to providehigh-resolution video and audio to all call participants. Asillustrated, service 1000 receives a request to setup or create ahigh-resolution conference (block 1005). As part of the request, eachparticipant is identified (e.g., via their telephone number or otherunique identifier). In response, service 1000 creates the conference(block 1010). In one embodiment, conference creation includes creatingconference data structure 1010A (block 1010B), assigning eachparticipant a conference identifier (block 1010C), and requesting eachparticipant record high-resolution video and audio of their portion ofthe call (block 1010D). In another embodiment, participants areconfigured to automatically record their portion of a conference call inhigh-resolution. In implementations such as this, service 1000 need notissue a request in accordance with block 1010D. In still otherembodiments, some participants automatically record theirhigh-resolution streams while others in the same conference call requirea request in accordance with block 1010D. As shown, conference datastructure 1010A can include entries for each participant's correspondingvideo and audio; with the conference identifier allowing service 1000 tomap individual participants with their corresponding data entries. Inother embodiments, the “conference” is a series of database entriesrather than a single structure. In one embodiment, conference creationin accordance with block 1010 occurs before the conference call isbegun. In another embodiment, service 1000 is initiated after a call hasalready started. In this latter case, if one or more participants hasnot recorded (i.e., stored) high-resolution data of their portion of thecall prior to service 1000 being initiated, high-resolution data forthat participant's portion of the conference (i.e., before conferenceinitiation) will not be available later. After the last two participantsto the conference call have terminated their connection (action 1015),service 1000 obtains each participant's high resolution call data (block1020).

In one embodiment, data acquisition in accordance with block 1020includes requesting high-resolution data from each participant (block1020A) and, once acquired, loading that data into conference structure1010A (block 1020B). Once all of the conference's high-resolution datahas been obtained (or as much of it as possible), service 1000 notifieseach participant that the data is available (block 1025). In oneembodiment, notification in accordance with block 1025 includes creatinga “claim ticket” (block 1025A), sending the tickets to each participant(block 1025B), and downloading conference data to those participantsrequesting the same (block 1025C). The idea behind the claim ticket isthat a participant may not be immediately able to download conference1010A fully-populated with high-resolution data. By way of example, oneparticipant may be configured to only download large amounts of data (ordata from service 1000) over Wi-Fi and, at present, Wi-Fi communicationis unavailable. (WI-FI is a registered trademark of the Wi-Fi AllianceCorporation.) Similarly, a participant may not be able to uploadhigh-resolution data to service 1000 as soon as requested (e.g., inimmediate response to operations in accordance with block 1020A). Assuch, a complete high-resolution conference may not be assembled untilsometime after call termination (action 1015). In some embodiments, oneor more participants are not able to provide high-resolution data (ascompared to other conference participants). In such cases conference1010A is marked as complete when the “best” (highest resolution) data isreceived for each participant. For example, some participants may beconfigured to only provide low-resolution video and audio to service1000. In such cases, if a participant notifies service 1000 of this inresponse, for example, to request 1010D, any participant may provide thelow-resolution participant's data. In one or more other embodimentsconference data (e.g., video and audio signals) passes through service1000—e.g., during internet conferencing. In such cases, operation 1000is able to obtain high-resolution data from each participant inreal-time as the call takes place.

As used here, the term “party” is meant to refer to an individual orperson while the term “participant” is meant to refer an electronicdevice used by a party to participate in a conference call. Thus, aspart of operations in accordance with block 1010 the phrase “requestparticipants record high-resolution data” means that service 1000 sendsa request to each party's electronic device (e.g., smart phone) torecord high-resolution video and audio of their respective portions ofthe conference call. It is further noted that, in practice, conferencedata (e.g., video and audio) also includes synchronization informationthat can be used by a subsequent “player” application. In accordancewith this disclosure, conference 1010A represents a single entity (e.g.,file or container) that has multiple entries—two for each participant(plus a third if metadata concerning the participant is also captured).One result of this arrangement is that all of a conference's data may bemanipulated, moved and copied as a single element. In addition, a playerapplication designed to work with and/or display conference 1010 may doso in any convenient manner. For example, participants could be shownhorizontally across a display with some visible indicator provided toindicate who is currently talking. Significantly, because eachparticipant's data is separate from the others a player application mayobtain, manipulate and display the data in any manner desired. Thisapproach permits a party to view their conference in any manner theychoose; using data they had heretofore never had access to.

Referring to FIG. 11, a simplified functional block diagram ofillustrative electronic device 1100 is shown according to one or moreembodiments. Electronic device 1100 is used to acquire, generate anddisplay digital images (including video sequences) in accordance withthis disclosure. As noted above, an illustrative electronic device 1100could be a mobile telephone (aka, a smart phone), a personal mediadevice or a notebook computer system. As shown, electronic device 1100includes lens assemblies 1105 and image sensors 1110 for capturingimages of a scene. By way of example, lens assembly 1105 includes afirst assembly configured to capture images in a direction away from thedevice's display 1120 (e.g., a rear-facing lens assembly) and a secondlens assembly configured to capture images in a direction toward orcongruent with the device's display 1120 (e.g., a front facing lensassembly). In one embodiment, each lens assembly has its own sensor(e.g., element 1110). In another embodiment, each lens assembly shares acommon sensor. In addition, electronic device 1100 includes imageprocessing pipeline (IPP) 1115, display element 1120, user interface1125, processor(s) 1130, graphics hardware 1135, audio circuit 1140,image processing circuit 1145, memory 1150, storage 1155, sensors 1160,communication interface 1165, and communication network or fabric 1170.

Lens assembly 1105 includes a single lens or multiple lens, filters, anda physical housing unit (e.g., a barrel). One function of lens assembly1105 is to focus light from a scene onto image sensor 1110. Image sensor1110 may, for example, be a CCD (charge-coupled device) or CMOS(complementary metal-oxide semiconductor) imager. IPP 1115 processesimage sensor output (e.g., RAW image data from sensor 1110) to yield aHDR image, image sequence or video sequence. More specifically, IPP 1115performs a number of different tasks including, but not be limited to,black level removal, de-noising, lens shading correction, white balanceadjustment, demosaic operations, and the application of local or globaltone curves or maps. IPP 1115 comprises a custom designed integratedcircuit, a programmable gate-array, a central processing unit (CPU), agraphical processing unit (GPU), memory, or a combination of theseelements (including more than one of any given element). Some functionsprovided by IPP 1115 is implemented at least in part via software(including firmware). Display element 1120 is used to display text andgraphic output as well as receiving user input via user interface 1125.For example, display element 1120 may be a touch-sensitive displayscreen. User interface 1125 can also take a variety of other forms suchas a button, keypad, dial, a click wheel, and keyboard. Processor 1130is a system-on-chip (SOC) such as those found in mobile devices andinclude one or more dedicated CPUs and one or more GPUs. Processor 1130is based on reduced instruction-set computer (RISC) or complexinstruction-set computer (CISC) architectures or any other suitablearchitecture and each computing unit includes one or more processingcores. Graphics hardware 1135 is a special purpose computationalhardware for processing graphics and/or assisting processor 1130 performcomputational tasks. In one embodiment, graphics hardware 1135 includesone or more programmable GPUs each of which has one or more cores. Audiocircuit 1140 includes one or more microphones, one or more speakers andone or more audio codecs. Image processing circuit 1145 aids in thecapture of still and video images from image sensor 1110 and include atleast one video codec. Image processing circuit 1145 works in concertwith IPP 1115, processor 1130 and/or graphics hardware 1135. Images,once captured, are stored in memory 1150 and/or storage 1155. Memory1150 includes one or more different types of media used by IPP 1115,processor 1130, graphics hardware 1135, audio circuit 1140, and imageprocessing circuitry 1145 to perform device functions. For example,memory 1150 includes memory cache, read-only memory (ROM), and/or randomaccess memory (RAM). Storage 1155 stores media (e.g., audio, image andvideo files), computer program instructions or software, preferenceinformation, device profile information, and any other suitable data.Storage 1155 includes one more non-transitory storage mediums including,for example, magnetic disks (fixed, floppy, and removable) and tape,optical media such as CD-ROMs and digital video disks (DVDs), andsemiconductor memory devices such as Electrically Programmable Read-OnlyMemory (EPROM), and Electrically Erasable Programmable Read-Only Memory(EEPROM). Device sensors 1160 include, but need not be limited to, oneor more of an optical activity sensor, an optical sensor array, anaccelerometer, a sound sensor, a barometric sensor, a proximity sensor,an ambient light sensor, a vibration sensor, a gyroscopic sensor, acompass, a magnetometer, a thermistor sensor, an electrostatic sensor, atemperature sensor, and an opacity sensor. Communication interface 1165is used to connect device 1100 to one or more networks. Illustrativenetworks include, but are not limited to, a local network such as auniversal serial bus (USB) network, an organization's local areanetwork, and a wide area network such as the Internet. Communicationinterface 1165 uses any suitable technology (e.g., wired or wireless)and protocol (e.g., Transmission Control Protocol (TCP), InternetProtocol (IP), User Datagram Protocol (UDP), Internet Control MessageProtocol (ICMP), Hypertext Transfer Protocol (HTTP), Post OfficeProtocol (POP), File Transfer Protocol (FTP), and Internet MessageAccess Protocol (IMAP)). Communication network or fabric 1170 comprisesone or more continuous (as shown) or discontinuous communication linksand is formed as a bus network, a communication network, or a fabriccomprised of one or more switching devices (e.g., a cross-bar switch).

EXAMPLES

The following examples pertain to further embodiments.

Example 1 is a non-transitory program storage device comprisinginstructions stored thereon to cause one or more processors to: capture,at a first electronic device as part of a video conference with a secondelectronic device, a first temporal sequence of images, wherein thefirst temporal sequence of images has a first resolution and includes afirst image having a first identifier; store the first temporal sequenceof images into a memory of the first device; convert each of the firsttemporal sequence of images to a second resolution, wherein the secondresolution is less than the first resolution; transmit each of theconverted images of the first temporal sequence of images to the seconddevice; receive, from the second device and during the video conference,a request for the first image; identify, in response to the request, thefirst image from the memory based on the first identifier; and transmit,in response to the identification, the first image having the firstresolution to the second device.

Example 2 comprises the subject matter of Example 1, wherein theinstructions to transmit the first image having the first resolution tothe second device comprise instructions to cause the one or moreprocessors to transmit the first image to the second device through acommunication modality other than the video conference.

Example 3 comprises the subject matter of Example 2, wherein theinstructions to transmit the first image having the first resolution tothe second device through a communication modality other than the videoconference are executed after the video conference ends.

Example 4 comprises the subject matter of Example 3, wherein theinstructions to transmit the first image having the first resolution tothe second device comprise instructions to cause the one or moreprocessors to: transmit the first image having the first resolution to anetwork-based storage system; and automatically transmit a message fromthe first device to the second device indicating the first image isstored at the network-based storage system.

Example 5 comprises the subject matter of Example 4, wherein the messagecomprises an email message.

Example 6 comprises the subject matter of Example 2, wherein thecommunication modality comprises an email communication modality.

Example 7 comprises the subject matter of Example 1, wherein theinstructions to receive a request comprise instructions to cause the oneor more processors to receive a request for a copy of the first temporalsequence of images beginning at the first image.

Example 8 comprises the subject matter of Example 7, wherein theinstructions to transmit the first image having the first resolution tothe second device comprise instructions to cause the one or moreprocessors to: transmit a portion of the first temporal sequence ofimages beginning at the first image to a network-based storage system;and transmit a message from the first device to the second deviceindicating the portion of the first temporal sequence of imagesbeginning at the first image is stored at the network-based storagesystem.

Example 9 comprises the subject matter of Example 7, wherein thenon-transitory program storage device further comprises instructions tocause the one or more processors to: receive, from the second device andduring the video conference, a stop request, the stop requestcorresponding to a second image from the first temporal sequence ofimages, the second image having a second identifier, the second imageoccurring after the first image in the first temporal sequence ofimages; identify, in response to the stop request, the second image fromthe memory; and transmit, in response to identification of the secondimage, a second temporal sequence of images comprising the first image,the second image, and one or more images from the first temporalsequence of images between the first and second images.

Example 10 comprises the subject matter of Example 9, wherein the stoprequest comprises an end of video conference indication.

Example 11 comprises the subject matter of Example 9, wherein the secondtemporal sequence of images includes every image from the first temporalsequence of images between the first and second images.

Example 12 comprises the subject matter of Example 11, wherein theinstructions to transmit the second temporal sequence of images compriseinstructions to cause the one or more processors to: transmit the secondtemporal sequence of images to a network-based storage system; andautomatically transmit a message from the first device to the seconddevice indicating the second temporal sequence of images is stored atthe network-based storage system.

Example 13 comprises the subject matter of Example 12, wherein themessage comprises a text message.

Example 14 is an electronic device, comprising: an image captureelement; a display element; memory communicatively coupled to the imagecapture and display elements; and one or more processors communicativelycoupled to the image capture and display elements and the memory, theone or more processors configured to execute program instructions storedin the memory to cause the electronic device to: establish a videoconference communication link with a second electronic device; capture,after establishment of the video conference communication link with thesecond electronic device and using the image capture element, a firsttemporal sequence of images, wherein the first temporal sequence ofimages has a first resolution and includes a first image having a firstidentifier; store the first temporal sequence of images into the memory;transmit a converted version of the stored first temporal sequence ofimages to the second electronic device, the converted version of thefirst temporal sequence of images having a second resolution that islower than the first resolution; receive, from the second electronicdevice and during the video conference, a request for the first image;identify, in response to the request, the first image from the memorybased on the first identifier; and transmit the identified first imagehaving the first resolution to the second electronic device.

Example 15 comprises the subject matter of Example 14, wherein theprogram instructions to cause the electronic device to transmit thefirst image having the first resolution to the second electronic devicecomprise instructions to cause the electronic device to transmit thefirst image to the second electronic device through a communicationmodality other than the video conference.

Example 16 comprises the subject matter of Example 15, wherein theprogram instructions to cause the electronic device to transmit thefirst image having the first resolution to the second electronic devicethrough a communication modality other than the video conference occursafter the video conference ends.

Example 17 comprises the subject matter of Example 16, wherein theprogram instructions to cause the electronic device to transmit thefirst image having the first resolution to the second electronic devicecomprise instructions to cause the electronic device to: transmit thefirst image having the first resolution to a network-based storagesystem; and automatically transmit a message from the electronic deviceto the second electronic device indicating the first image is stored atthe network-based storage system.

Example 18 comprises the subject matter of Example 16, wherein theprogram instructions to cause the electronic device to receive a requestcomprise program instructions to cause the electronic device to receivea request from the second electronic device for a copy of the firsttemporal sequence of images beginning at the first image.

Example 19 comprises the subject matter of Example 18, wherein theprogram instructions to cause the electronic device to transmit thefirst image having the first resolution to the second electronic devicecomprise instructions to cause the electronic device to: transmit aportion of the first temporal sequence of images beginning at the firstimage to a network-based storage system; and transmit a message from tothe second electronic device indicating the portion of the firsttemporal sequence of images beginning at the first image is stored atthe network-based storage system.

Example 20 is a method to capture high-resolution images during a videoconference, comprising: capturing, at a first device as part of a videoconference with a second device, a first temporal sequence of images,wherein the first temporal sequence of images has a first resolution andincludes a first image having a first identifier; storing, concomitantlywith the capturing, the first temporal sequence of images into a memoryof the first device; transmitting, concomitantly with the storing, aconverted version of the first temporal sequence of images to the seconddevice, the converted version of the first temporal sequence of imageshaving a second resolution that is lower than the first resolution;receiving, from the second device and during the video conference, arequest for the first image; identifying, in response to the request,the first image from the memory based on the first identifier; andtransmitting, in response to the identifying, the first image having thefirst resolution to the second device.

Example 21 comprises the subject matter of Example 20, whereintransmitting the first image having the first resolution to the seconddevice comprises transmitting the first image to the second devicethrough a communication modality other than the video conference.

Example 22 comprises the subject matter of Example 21, whereintransmitting the first image having the first resolution to the seconddevice through a communication modality other than the video conferenceoccurs after the video conference ends.

Example 23 comprises the subject matter of Example 22, whereintransmitting the first image having the first resolution to the seconddevice comprises: transmitting the first image having the firstresolution to a network-based storage system; and automaticallytransmitting a message from the first device to the second deviceindicating the first image is stored at the network-based storagesystem.

Example 24 comprises the subject matter of Example 23, wherein themessage comprises an email message.

Example 25 comprises the subject matter of Example 21, wherein thecommunication modality comprises an email communication modality.

Example 26 comprises the subject matter of Example 20, wherein receivinga request comprises receiving a request for a copy of the first temporalsequence of images beginning at the first image.

Example 27 comprises the subject matter of Example 26, whereintransmitting the first image having the first resolution to the seconddevice comprises: transmitting a portion of the first temporal sequenceof images beginning at the first image to a network-based storagesystem; and transmitting a message from the first device to the seconddevice indicating the portion of the first temporal sequence of imagesbeginning at the first image is stored at the network-based storagesystem.

Example 28 comprises the subject matter of Example 26, wherein themethod further comprises: receiving, from the second device and duringthe video conference, a stop request, the stop request corresponding toa second image from the first temporal sequence of images, the secondimage having a second identifier, the second image occurring after thefirst image in the first temporal sequence of images; identifying, inresponse to the stop request, the second image from the memory; andtransmitting, in response to identifying the second image, a secondtemporal sequence of images comprising the first image, the secondimage, and one or more images from the first temporal sequence of imagesbetween the first and second images.

Example 29 comprises the subject matter of Example 28, wherein the stoprequest comprises an end of video conference indication.

Example 30 comprises the subject matter of Example 28, wherein thesecond temporal sequence of images includes every image from the firsttemporal sequence of images between the first and second images.

Example 31 comprises the subject matter of Example 30, whereintransmitting the second temporal sequence of images comprises:transmitting the second temporal sequence of images to a network-basedstorage system; and automatically transmitting a message from the firstdevice to the second device indicating the second temporal sequence ofimages is stored at the network-based storage system.

Example 32 comprises the subject matter of Example 31, wherein themessage comprises a text message.

Example 33 is an audio/visual conferencing method, comprising:receiving, at a first electronic device, a first image from a secondelectronic device, the first image having a first resolution, whereinthe first and second electronic devices are communicatively coupled inan audio/visual conference; designating, at the first electronic device,a first region of the first image, the first region comprising less thanall of the first image; sending, by the first electronic device,information identifying the first region to the second electronicdevice; receiving, at the first electronic device and in response to thesending, a second image, the second image having the first resolution,the second image corresponding only to the first region; and displaying,at the first electronic device, the second image.

Example 34 comprises the subject matter of Example 33, wherein the firstresolution comprises a resolution used when transmitting images betweenthe first and second electronic devices.

Example 35 comprises the subject matter of Example 33, whereindesignating comprising obtaining input through a touch-sensitive displayelement.

Example 36 is a non-transitory program storage device comprisinginstructions stored thereon to cause one or more processors to: receive,at a first electronic device, a first image from a second electronicdevice, the first image having a first resolution, wherein the first andsecond electronic devices are communicatively coupled in an audio/visualconference; designate, at the first electronic device, a first region ofthe first image, the first region comprising less than all of the firstimage; send, by the first electronic device, information identifying thefirst region to the second electronic device; receive, at the firstelectronic device and in response to the information identifying thefirst region sent to the second electronic device, a second image havingthe first resolution, the second image corresponding only to the firstregion; and display, at the first electronic device, the second image.

Example 37 comprises the subject matter of Example 36, wherein the firstresolution comprises a resolution used when images are transmittedbetween the first and second electronic devices.

Example 38 comprises the subject matter of Example 36, wherein theinstructions to designate comprise instructions to obtain input througha touch-sensitive display element.

Example 39 is an electronic device, comprising: a memory; an imagecapture unit communicatively coupled to the memory; a display elementcommunicatively coupled to the memory; and one or more processorscommunicatively coupled to the memory, the image capture unit and thedisplay element, the one or more processors configured to executeprogram instructions stored in the memory to cause the electronic deviceto: receive, at the electronic device, a first image from a secondelectronic device, the first image having a first resolution, whereinthe electronic devices are communicatively coupled in an audio/visualconference; designate, at the electronic device, a first region of thefirst image, the first region comprising less than all of the firstimage; send, by the electronic device, information identifying the firstregion to the second electronic device; receive, at the electronicdevice and in response to the information identifying the first regionsent to the second electronic device, a second image having the firstresolution, the second image corresponding only to the first region; anddisplay, on the display element, the second image.

Example 40 comprises the subject matter of Example 39, wherein the firstresolution comprises a resolution used when images are transmittedbetween the electronic devices.

Example 41 comprises the subject matter of Example 39, wherein: thedisplay element comprises a touch-sensitive display element; and theinstructions to cause the electronic device to designate compriseinstructions to cause the electronic device to obtain input through thetouch-sensitive display element.

Example 42 is an audio/visual conferencing method, comprising:capturing, at a first electronic device, a first image, the first imagehaving a first resolution; converting, by the first electronic device,the first image to a second image, the second image having a secondresolution wherein the second resolution is lower than the firstresolution; transmitting, by the first electronic device, the secondimage to a second electronic device wherein the electronic devices arecommunicatively coupled in an audio/visual conference; receiving, by thefirst electronic device from the second electronic device and inresponse to the transmitting, information that identifies a region ofthe second image wherein the region comprises less than all of thesecond image; generating, by the first electronic device, a third imagecomprising that portion of the first image corresponding to the region,the third image having the second resolution; and sending, by the firstelectronic device, the third image to the second electronic device.

Example 43 comprises the subject matter of Example 42, wherein thesecond resolution comprises a resolution used when transmitting imagesbetween the first and second electronic devices.

Example 44 comprises the subject matter of Example 42, wherein capturinga first image comprises capturing a first image at a resolution greaterthan 720p.

Example 45 is a non-transitory program storage device comprisinginstructions stored thereon to cause one or more processors to: capture,at a first electronic device, a first image, the first image having afirst resolution; convert, by the first electronic device, the firstimage to a second image, the second image having a second resolutionwherein the second resolution is lower than the first resolution;transmit, by the first electronic device, the second image to a secondelectronic device wherein the electronic devices are communicativelycoupled in an audio/visual conference; receive, by the first electronicdevice from the second electronic device and in response to havingtransmitted the second image to the second electronic device,information that identifies a region of the second image wherein theregion comprises less than all of the second image; generate, by thefirst electronic device, a third image comprising that portion of thefirst image corresponding to the region, the third image having thesecond resolution; and send, by the first electronic device, the thirdimage to the second electronic device.

Example 46 comprises the subject matter of Example 45, wherein thesecond resolution comprises a resolution used when transmitting imagesbetween the electronic devices.

Example 47 comprises the subject matter of Example 45, wherein theinstructions to capture a first image comprise instructions to capture afirst image at a resolution greater than 720p.

Example 48 is an electronic device, comprising: a memory; an imagecapture unit communicatively coupled to the memory; a display elementcommunicatively coupled to the memory; and one or more processorscommunicatively coupled to the memory, the image capture unit and thedisplay element, the one or more processors configured to executeprogram instructions stored in the memory to cause the electronic deviceto: capture, at the electronic device, a first image using the imagecapture unit, the first image having a first resolution; convert, by theelectronic device, the first image to a second image, the second imagehaving a second resolution wherein the second resolution is lower thanthe first resolution; transmit, by the electronic device, the secondimage to a second electronic device wherein the electronic devices arecommunicatively coupled in an audio/visual conference; receive, by theelectronic device from the second electronic device and in response tohaving transmitted the second image to the second electronic device,information that identifies a region of the second image wherein theregion comprises less than all of the second image; generate, by theelectronic device, a third image comprising that portion of the firstimage corresponding to the region, the third image having the secondresolution; and send, by the electronic device, the third image to thesecond electronic device.

Example 49 comprises the subject matter of Example 48, wherein thesecond resolution comprises a resolution used when transmitting imagesbetween the electronic devices.

Example 50 comprises the subject matter of Example 48, wherein theinstructions to capture a first image comprise instructions to capture afirst image at a resolution greater than 720p.

Example 51 is a non-transitory program storage device comprisinginstructions stored thereon to cause one or more processors to: receive,from a first of a plurality of electronic devices, a first request toform a conference call; generate, in response to the first request, aconference data structure; send, based on a determination the conferencecall has ended, a second request to each of the plurality of electronicdevices to return a high-resolution video stream generated by eachelectronic device during the conference call; receive, in response tothe second requests, a high-resolution video stream from at least someof the plurality of electronic devices; store each of the receivedhigh-resolution video streams in the conference data structure togenerate a completed conference data structure; and send, to each of theplurality of electronic devices, a notice that the completed conferencedata structure is available.

Example 52 comprises the subject matter of Example 51, wherein theinstructions further cause the one or more processors to send, inresponse to the first request, a third request to one or more of theplurality of electronic devices to record a high-resolution video streamduring the conference call.

Example 53 comprises the subject matter of Example 52, wherein thesecond and third requests comprise a single request.

Example 54 comprises the subject matter of Example 52, wherein the thirdrequest comprises a request to record a high-resolution video stream anda high-resolution audio stream during the conference call.

Example 55 comprises the subject matter of Example 51, wherein theinstructions to send a second request further comprise instructions tocause the one or more processors to request, from each of the pluralityof electronic devices, a high-resolution audio stream generated by eachelectronic device during the conference call.

Example 56 comprises the subject matter of Example 55, wherein theinstructions to store further comprise instructions to cause the one ormore processors to store the high-resolution audio stream from each ofthe plurality of electronic devices in the conference data structure,wherein each video stream is separate from all other video and audiostreams and each audio stream is separate from all other video and audiostreams.

Example 57 comprises the subject matter of Example 51, wherein theinstructions further cause the one or more processors to: receive, inresponse to the notice, a third request from a second electronic deviceof the plurality of electronic devices; and send, in response to thethird request, the completed conference data structure to the secondelectronic device.

Example 58 comprises the subject matter of Example 57, wherein theinstructions to send the completed conference data structure compriseinstructions to cause the one or more processors to permit the secondelectronic device to download the completed conference data structure.

Example 59 is a system, comprising: a memory; an image capture unitcommunicatively coupled to the memory; a display element communicativelycoupled to the memory; a communication interface communicatively coupledto the memory; and one or more processors operatively coupled to thememory, the image capture unit and the display element, the one or moreprocessors configured to execute program instructions stored in thememory to cause the system to: receive, through the communicationinterface, a first request to form a conference call from a first of aplurality of electronic devices; generate, in response to the firstrequest, a conference data structure in the memory; send, through thecommunication interface, a second request to each of the plurality ofelectronic devices to return a high-resolution video stream generated byeach electronic device during the conference call based on adetermination the conference call has ended; receive, through thecommunication interface, a high-resolution video stream from at leastsome of the plurality of electronic devices in response to the secondrequests; store each of the received high-resolution video streams inthe conference data structure to generate a completed conference datastructure; and send, through the communication interface, a notice thatthe completed conference data structure is available to each of theplurality of electronic devices.

Example 60 comprises the subject matter of Example 59, wherein theinstructions further cause the system to send, through the communicationinterface and in response to the first request, a third request to oneor more of the plurality of electronic devices to record ahigh-resolution video stream during the conference call.

Example 61 comprises the subject matter of Example 60, wherein thesecond and third requests comprise a single request.

Example 62 comprises the subject matter of Example 60, wherein the thirdrequest comprises a request to record a high-resolution video stream anda high-resolution audio stream during the conference call.

Example 63 comprises the subject matter of Example 59, wherein theinstructions to send a second request further comprise instructions tocause the system to request, from each of the plurality of electronicdevices through the communication interface, a high-resolution audiostream generated by each electronic device during the conference call.

Example 64 comprises the subject matter of Example 63, wherein theinstructions to store further comprise instructions to cause the systemto store the high-resolution audio stream from each of the plurality ofelectronic devices in the conference data structure, wherein each videostream is separate from all other video and audio streams and each audiostream is separate from all other video and audio streams.

Example 65 comprises the subject matter of Example 59, wherein theinstructions further cause the one or more processors to: receive,through the communication interface, a third request from a secondelectronic device of the plurality of electronic devices in response tothe notice; and send, through the communication interface, the completedconference data structure to the second electronic device in response tothe third request.

Example 66 comprises the subject matter of Example 59, wherein theinstructions to send the completed conference data structure compriseinstructions to cause the one or more processors to permit a secondelectronic device of the plurality of electronic devices to download thecompleted conference data structure.

Example 67 is an audio/visual conferencing method, comprising:receiving, from a first of a plurality of electronic devices, a firstrequest to form a conference call; generating, in response to the firstrequest, a conference data structure in a memory; sending, based ondetermining the conference call has ended, a second request to each ofthe plurality of electronic devices to return a high-resolution videostream generated by each electronic device during the conference call;receiving, in response to the second requests, a high-resolution videostream from at least some of the plurality of electronic devices;storing each of the received high-resolution video streams in theconference data structure in the memory to generate a completedconference data structure; and sending, to each of the plurality ofelectronic devices, a notice that the completed conference datastructure is available.

Example 68 comprises the subject matter of Example 67, wherein themethod further comprises sending, in response to the first request, athird request to one or more of the plurality of electronic devices torecord a high-resolution video stream during the conference call.

Example 69 comprises the subject matter of Example 68, wherein thesecond and third requests comprise a single request.

Example 70 comprises the subject matter of Example 68, wherein the thirdrequest comprises a request to record a high-resolution video stream anda high-resolution audio stream during the conference call.

Example 71 comprises the subject matter of Example 67, wherein sending asecond request further comprises requesting, from each of the pluralityof electronic devices, a high-resolution audio stream generated by eachelectronic device during the conference call.

Example 72 comprises the subject matter of Example 71, wherein storingfurther comprises storing the high-resolution audio stream from each ofthe plurality of electronic devices in the conference data structure,wherein each video stream is separate from all other video and audiostreams and each audio stream is separate from all other video and audiostreams.

Example 73 comprises the subject matter of Example 67, wherein themethod further comprises: receiving, in response to the notice, a thirdrequest from a second electronic device of the plurality of electronicdevices; and sending, in response to the third request, the completedconference data structure to the second electronic device.

Example 74 comprises the subject matter of Example 67, wherein sendingthe completed conference data structure comprises permitting a secondelectronic device of the plurality of devices to download the completedconference data structure.

Example 75 is a non-transitory program storage device comprisinginstructions stored thereon to cause one or more processors of a firstelectronic device to: send, to a network-based service, a first requestto form a conference call; receive, in response to the first request, aconfirmation that a conference has been created from a network-basedservice; begin, after the confirmation is received, a conference callwith one or more other electronic devices; generate, during theconference call, a first high-resolution video stream; send, atcompletion of the conference call, the high-resolution video stream tothe network-based service; and receive, after the high-resolution videostream has been sent, a notice from the network-based service that acompleted conference entity is available.

Example 76 comprises the subject matter of Example 75, wherein theinstructions to generate are executed by the first electronic device'sone or more processors automatically after the confirmation is received.

Example 77 comprises the subject matter of Example 75, wherein theinstructions to generate are executed by the first electronic device'sone or more processors only after a request to do so has been receivedby the first electronic device from the network-based service.

Example 78 comprises the subject matter of Example 75, wherein theinstructions to generate further comprise instructions to cause thefirst electronic device's one or more processors to generate an audiostream.

Example 79 comprises the subject matter of Example 78, wherein theinstructions to send the high-resolution video stream further compriseinstructions to cause the first electronic device's one or moreprocessors to send the audio stream to the network-based service.

Example 80 comprises the subject matter of Example 75, furthercomprising instructions to cause the first electronic device's one ormore processors to obtain, in response to the notice, the completedconference entity from the network-based service, wherein the completedconference entity includes a high-resolution video stream for at leastone of the other electronic devices.

Example 81 is an electronic device, comprising: a memory; an imagecapture unit communicatively coupled to the memory; a display elementcommunicatively coupled to the memory; a communication interfacecommunicatively coupled to the memory; and one or more processorsoperatively coupled to the memory, the image capture unit and thedisplay element, the one or more processors configured to executeprogram instructions stored in the memory to cause the electronic deviceto: send, through the communication interface, a first request to form aconference call to a network-based service; receive, through thecommunication interface, a confirmation that a conference has beencreated from a network-based service in response to the first request;begin, after the confirmation is received, a conference call with one ormore other electronic devices; capture, by the image capture unit, afirst high-resolution video stream; store the captured high-resolutionvideo stream in the memory; send, through the communication interface,the high-resolution video stream to the network-based service atcompletion of the conference call; and receive, through thecommunication interface, a notice from the network-based service that acompleted conference entity is available after the high-resolution videostream has been sent.

Example 82 comprises the subject matter of Example 81, wherein theinstructions to generate are executed by the electronic device's one ormore processors automatically after the confirmation is received.

Example 83 comprises the subject matter of Example 81, wherein theinstructions to generate are executed by the electronic device's one ormore processors only after a request to do so has been received by theelectronic device from the network-based service.

Example 84 comprises the subject matter of Example 81, wherein theinstructions to generate further comprise instructions to cause theelectronic device's one or more processors to generate an audio stream.

Example 85 comprises the subject matter of Example 84, wherein theinstructions to send the high-resolution video stream further compriseinstructions to cause the electronic device's one or more processors tosend the audio stream to the network-based service.

Example 86 comprises the subject matter of Example 81, furthercomprising instructions to cause the electronic device's one or moreprocessors to obtain, in response to the notice, the completedconference entity from the network-based service, wherein the completedconference entity includes a high-resolution video stream for at leastone of the other electronic devices.

Example 87 is an audio/visual conferencing method, comprising: sending,to a network-based service, a first request to form a conference call;receiving, in response to the first request, a confirmation that aconference has been created from a network-based service; beginning,after the confirmation is received, a conference call with one or moreother electronic devices; generating, during the conference call, afirst high-resolution video stream; sending, at completion of theconference call, the high-resolution video stream to the network-basedservice; and receiving, after the high-resolution video stream has beensent, a notice from the network-based service that a completedconference entity is available.

Example 88 comprises the subject matter of Example 87, whereingenerating comprises automatically generating after the confirmation isreceived.

Example 89 comprises the subject matter of Example 87, whereingenerating comprises generating only after a request to do so has beenreceived from the network-based service.

Example 90 comprises the subject matter of Example 87, whereingenerating further comprises generating an audio stream.

Example 91 comprises the subject matter of Example 90, wherein sendingthe high-resolution video stream further comprises sending the audiostream to the network-based service.

Example 92 comprises the subject matter of Example 87, wherein themethod further comprises obtaining, in response to the notice, thecompleted conference entity from the network-based service, wherein thecompleted conference entity includes a high-resolution video stream forat least one of the other electronic devices.

It is to be understood that the above description is intended to beillustrative, and not restrictive. The material has been presented toenable any person skilled in the art to make and use the disclosedsubject matter as claimed and is provided in the context of particularembodiments, variations of which will be readily apparent to thoseskilled in the art (e.g., some of the disclosed embodiments may be usedin combination with each other). By way of example, a video conferencein accordance with this disclosure may include more than two (2)participants. In such a case, each device may capture a high-resolutionimage (or video) when notified that such is desired (e.g., all of thedevices except the device sourcing the request). The scope of theinvention therefore should be determined with reference to the appendedclaims, along with the full scope of equivalents to which such claimsare entitled. In the appended claims, the terms “including” and “inwhich” are used as the plain-English equivalents of the respective terms“comprising” and “wherein.”

What is claimed is:
 1. A non-transitory program storage devicecomprising instructions stored thereon to cause one or more processorsto: capture, at a first electronic device as part of a video conferencewith a second electronic device, a first temporal sequence of images,wherein the first temporal sequence of images has a first resolution andincludes a first image having a first identifier; store the firsttemporal sequence of images into a memory of the first electronicdevice; convert each of the first temporal sequence of images to asecond resolution, wherein the second resolution is less than the firstresolution; transmit each of the converted images of the first temporalsequence of images to the second electronic device; receive, from thesecond electronic device and during the video conference, a request forthe first image; identify, in response to the request, the first imagefrom the memory based on the first identifier; transmit, in response tothe identification, the first image having the first resolution to anetwork-based storage system; and automatically transmit a message fromthe first electronic device to the second electronic device indicatingthe first image is stored at the network-based storage system.
 2. Thenon-transitory program storage device of claim 1, wherein theinstructions to cause the one or more processors to transmit the firstimage having the first resolution to the network-based storage systemare executed after the video conference ends.
 3. The non-transitoryprogram storage device of claim 1, wherein the message comprises atleast one of an email message and a text message.
 4. The non-transitoryprogram storage device of claim 1, wherein the instructions to receive arequest comprise instructions to cause the one or more processors toreceive a request for a copy of at least some of the first temporalsequence of images beginning at the first image.
 5. The non-transitoryprogram storage device of claim 4, wherein the instructions to transmitthe first image having the first resolution to the network-based storagesystem comprise instructions to cause the one or more processors to:transmit a portion of the first temporal sequence of images beginning atthe first image to the network-based storage system; and automaticallytransmit a message from the first electronic device to the secondelectronic device indicating the portion of the first temporal sequenceof images beginning at the first image is stored at the network-basedstorage system.
 6. The non-transitory program storage device of claim 4,further comprising instructions to cause the one or more processors to:receive, from the second electronic device and during the videoconference, a stop request, the stop request corresponding to a secondimage from the first temporal sequence of images, the second imagehaving a second identifier, the second image occurring after the firstimage in the first temporal sequence of images; identify, in response tothe stop request, the second image from the memory; transmit, inresponse to identification of the second image, a second temporalsequence of images to the network-based storage system, the secondtemporal sequence of images comprising the first image, the secondimage, and one or more images from the first temporal sequence of imagesbetween the first and second images; and automatically transmit amessage from the first electronic device to the second electronic deviceindicating the second temporal sequence of images is stored at thenetwork-based storage system.
 7. The non-transitory program storagedevice of claim 6, wherein the stop request comprises an end of videoconference indication.
 8. The non-transitory program storage device ofclaim 6, wherein the second temporal sequence of images includes everyimage from the first temporal sequence of images between the first andsecond images.
 9. The non-transitory program storage device of claim 6,wherein the message comprises at least one of an email message and atext message.
 10. An electronic device, comprising: an image captureelement; a display element; memory communicatively coupled to the imagecapture and display elements; and one or more processors communicativelycoupled to the image capture and display elements and the memory, theone or more processors configured to execute program instructions storedin the memory to cause the one or more processors to: establish acommunication link for a video conference with a second electronicdevice; capture, after establishment of the communication link with thesecond electronic device and using the image capture element, a firsttemporal sequence of images, wherein the first temporal sequence ofimages has a first resolution and includes a first image having a firstidentifier; store the first temporal sequence of images into the memory;transmit a converted version of the stored first temporal sequence ofimages to the second electronic device, the converted version of thefirst temporal sequence of images having a second resolution that islower than the first resolution; receive, from the second electronicdevice and during the video conference, a request for the first image;identify, in response to the request, the first image from the memorybased on the first identifier; and transmit the identified first imagehaving the first resolution to the second electronic device through acommunication modality other than the video conference, wherein thecommunication modality comprises at least one of an email communicationmodality, a chat communication modality, and a communication modality ofa network-based storage system.
 11. The electronic device of claim 10,wherein the program instructions to cause the electronic device totransmit the first image having the first resolution to the secondelectronic device comprise instructions to cause the one or moreprocessors to: transmit the first image having the first resolution tothe network-based storage system; and automatically transmit a messageto the second electronic device indicating the first image is stored atthe network-based storage system.
 12. The electronic device of claim 11,wherein the program instructions to cause the electronic device totransmit the first image having the first resolution to thenetwork-based storage system occurs after the video conference ends. 13.The electronic device of claim 11, wherein the program instructions tocause the electronic device to receive a request comprise programinstructions to cause the electronic device to receive a request fromthe second electronic device for a copy of the first temporal sequenceof images beginning at the first image.
 14. The electronic device ofclaim 13, wherein the program instructions to cause the electronicdevice to transmit the first image having the first resolution to thenetwork-based storage system comprise instructions to cause theelectronic device to: transmit a portion of the first temporal sequenceof images beginning at the first image to the network-based storagesystem; and automatically transmit a message to the second electronicdevice indicating the portion of the first temporal sequence of imagesbeginning at the first image is stored at the network-based storagesystem.
 15. The electronic device of claim 14, wherein the one or moreprocessors are further configured to execute program instructions storedin the memory to cause the one or more processors to: receive, from thesecond electronic device and during the video conference, a stoprequest, the stop request corresponding to a second image from the firsttemporal sequence of images, the second image having a secondidentifier, the second image occurring after the first image in thefirst temporal sequence of images; identify, in response to the stoprequest, the second image from the memory; transmit, in response toidentification of the second image, a second temporal sequence of imagesto the network-based storage system, the second temporal sequence ofimages comprising the first image, the second image, and one or moreimages from the first temporal sequence of images between the first andsecond images; and automatically transmit a message to the secondelectronic device indicating the second temporal sequence of images isstored at the network-based storage system.
 16. The electronic device ofclaim 15, wherein the stop request comprises an end of video conferenceindication.
 17. The electronic device of claim 15, wherein the secondtemporal sequence of images includes every image from the first temporalsequence of images between the first and second images.
 18. A method tocapture high-resolution images during a video conference, comprising:capturing, at a first device as part of a video conference with a seconddevice, a first temporal sequence of images, wherein the first temporalsequence of images has a first resolution and includes a first imagehaving a first identifier; storing, concomitantly with the capturing,the first temporal sequence of images into a memory of the first device;transmitting, concomitantly with the storing, a converted version of thefirst temporal sequence of images to the second device, the convertedversion of the first temporal sequence of images having a secondresolution that is lower than the first resolution; receiving, from thesecond device and during the video conference, a request for the firstimage; identifying, in response to the request, the first image from thememory based on the first identifier; transmitting, in response to theidentifying, the first image having the first resolution to anetwork-based storage system; and automatically transmitting at leastone of an email message and a text message from the first device to thesecond device indicating the first image is stored at the network-basedstorage system.
 19. The method of claim 18, wherein transmitting thefirst image having the first resolution to the network-based storagesystem occurs after the video conference ends.
 20. The method of claim18, wherein receiving a request comprises receiving a request for a copyof the first temporal sequence of images beginning at the first image.